Skip to content

Hydr8gon/NooDS

Repository files navigation

NooDS

A (hopefully!) speedy DS emulator.

Overview

The goal of NooDS is to be a fast and portable DS and GBA emulator. It features accurate software rendering with upscaling, and can take advantage of multiple cores for better performance. I started working on NooDS for fun and as a learning experience, and I'd like to keep it that way. If people are interested and get use out of it, that's a bonus!

Downloads

NooDS is available for Windows, macOS, Linux, Android, Switch, Wii U, and Vita. The latest builds are automatically provided via GitHub Actions, and can be downloaded from the releases page.

Usage

NooDS should be able to run most things without any setup. DS BIOS and firmware files must be provided to boot the system menu, and can be dumped from a DS with DSBF Dumper. The firmware must come from an original DS; DSi and 3DS dumps don't contain any boot code. A GBA BIOS file can be optionally provided, and can be dumped from many systems with this dumper. File paths can be configured in the settings menu. Save types are automatically detected, but this may not always be accurate. If you run something and it has issues with saving, the save type can be overriden in the file menu.

Contributing

This is a personal project, and I've decided to not review or accept pull requests for it. If you want to help, you can test things and report issues or provide feedback. If you can afford it, you can also donate to motivate me and allow me to spend more time on things like this. Nothing is mandatory, and I appreciate any interest in my projects, even if you're just a user!

Building

Windows: Install MSYS2 and run the command pacman -Syu mingw-w64-x86_64-{gcc,pkg-config,wxWidgets,portaudio,jbigkit} make to get dependencies. Navigate to the project root directory and run make -j$(nproc) to start building.

macOS/Linux: On the target system, install wxWidgets and PortAudio. This can be done with the Homebrew package manager on macOS, or a built-in package manager on Linux. Run make -j$(nproc) in the project root directory to start building.

Android: Install Android Studio or the command line tools. Run ./gradlew assembleDebug in the project root directory to start building; dependencies will be installed as needed.

Switch: Install devkitPro and its switch-dev package. Run make switch -j$(nproc) in the project root directory to start building.

Wii U: Install devkitPro and its wiiu-dev package. Run make wiiu -j$(nproc) in the project root directory to start building.

Vita: Install Vita SDK and run make vita -j$(nproc) in the project root directory to start building.

Hardware References

Other Links